package com.yiren.dbaa.constant;

import com.google.gson.Gson;
import com.yiren.backstage.config.enums.DetourCheckTypeEnum;
import com.yiren.backstage.config.enums.ExamUiEnum;
import com.yiren.backstage.config.enums.PlayOrderEnum;
import com.yiren.backstage.config.enums.SczbEndConditionEnum;
import com.yiren.backstage.config.enums.SiteConfigCodeEnum;
import com.yiren.backstage.config.enums.UnitNameEnum;
import com.yiren.backstage.config.enums.VoicePeopleEnum;
import com.yiren.backstage.currency.bean.SczbStartVoiceBean;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author xiaozan
 * @Date : 2022/11/3 下午4:53
 * @description: 考场配置默认值 常量类
 */
public class ExamConfigConstant {

    private static Map<String, Object> examConfigMap;

    public static Map<String, Object> getExamConfigMap() {
//        if (null != examConfigMap) {
//            return examConfigMap;
//        }
        examConfigMap = new HashMap<>();
        /****练车设置默认值****/
        examConfigMap.put(SiteConfigCodeEnum.L1.toString(), ExamUiEnum.EXAM_DJ.toString());
        examConfigMap.put(SiteConfigCodeEnum.L2.toString(), "41700");
        examConfigMap.put(SiteConfigCodeEnum.L3.toString(), "40200");
        examConfigMap.put(SiteConfigCodeEnum.L4.toString(), 3);
        examConfigMap.put(SiteConfigCodeEnum.L5.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.L6.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.L7.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.L8.toString(), new ArrayList<>());
        examConfigMap.put(SiteConfigCodeEnum.L9.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.L10.toString(), new ArrayList<>());
        examConfigMap.put(SiteConfigCodeEnum.L11.toString(), "开始考试，请走#");
        examConfigMap.put(SiteConfigCodeEnum.L12.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.L13.toString(), 5);
        examConfigMap.put(SiteConfigCodeEnum.L14.toString(), true);
        examConfigMap.put(SiteConfigCodeEnum.L15.toString(), "成绩合格");
        examConfigMap.put(SiteConfigCodeEnum.L16.toString(), "成绩不合格");
        examConfigMap.put(SiteConfigCodeEnum.L17.toString(), "请回中心打印成绩单，下车时请注意后方来车");
        examConfigMap.put(SiteConfigCodeEnum.L18.toString(), true);
        examConfigMap.put(SiteConfigCodeEnum.L19.toString(), PlayOrderEnum.PLAY_POINTS_TO_PLAY_GRADE.toString());
        examConfigMap.put(SiteConfigCodeEnum.L20.toString(), "训练结束，请使用评判模式进行模拟考试");
        examConfigMap.put(SiteConfigCodeEnum.L21.toString(), 1);
        examConfigMap.put(SiteConfigCodeEnum.L22.toString(), 20);
        examConfigMap.put(SiteConfigCodeEnum.L23.toString(), 3);
        examConfigMap.put(SiteConfigCodeEnum.L24.toString(), 20);
        examConfigMap.put(SiteConfigCodeEnum.L25.toString(), 1);
        examConfigMap.put(SiteConfigCodeEnum.L26.toString(), 20);
        examConfigMap.put(SiteConfigCodeEnum.L27.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.L28.toString(), new ArrayList<>());
        examConfigMap.put(SiteConfigCodeEnum.L29.toString(), "");

        /****语音播报设置默认值****/
        examConfigMap.put(SiteConfigCodeEnum.Y1.toString(), VoicePeopleEnum.VOICE_PEOPLE_1.toString());
        examConfigMap.put(SiteConfigCodeEnum.Y2.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y3.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y4.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y5.toString(), VoicePeopleEnum.VOICE_PEOPLE_1.toString());
        examConfigMap.put(SiteConfigCodeEnum.Y6.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y7.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y8.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y9.toString(), VoicePeopleEnum.VOICE_PEOPLE_1.toString());
        examConfigMap.put(SiteConfigCodeEnum.Y10.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y11.toString(), 50);
        examConfigMap.put(SiteConfigCodeEnum.Y12.toString(), 50);

        /****灯光设置默认值****/
        examConfigMap.put(SiteConfigCodeEnum.D1.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.D2.toString(), "请启动发动机");
        examConfigMap.put(SiteConfigCodeEnum.D3.toString(), 2);
        examConfigMap.put(SiteConfigCodeEnum.D4.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.D5.toString(), "请关闭所有灯光");
        examConfigMap.put(SiteConfigCodeEnum.D6.toString(), 2);
        examConfigMap.put(SiteConfigCodeEnum.D7.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.D8.toString(), 5);
        examConfigMap.put(SiteConfigCodeEnum.D9.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.D10.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.D11.toString(), false);

        /****上车准备默认值****/
        examConfigMap.put(SiteConfigCodeEnum.S1.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.S2.toString(), "请先将发动机熄火");
        examConfigMap.put(SiteConfigCodeEnum.S3.toString(), 3);
        List<SczbStartVoiceBean> sczbStartVoices = new ArrayList<>();
        sczbStartVoices.add(new SczbStartVoiceBean("请看摄像头准备拍照", 2));
        sczbStartVoices.add(new SczbStartVoiceBean("认证成功，请开始考试，开始考试", 2));
        examConfigMap.put(SiteConfigCodeEnum.S4.toString(), new Gson().toJson(sczbStartVoices));
        examConfigMap.put(SiteConfigCodeEnum.S5.toString(), DetourCheckTypeEnum.TWO_BUTTON.toString());
        examConfigMap.put(SiteConfigCodeEnum.S6.toString(), SczbEndConditionEnum.FASTEN_SEAT_BELT.toString());
        examConfigMap.put(SiteConfigCodeEnum.S7.toString(), 2);
        examConfigMap.put(SiteConfigCodeEnum.S8.toString(), "左前方有学员通过");
        examConfigMap.put(SiteConfigCodeEnum.S9.toString(), "右前方有学员通过");
        examConfigMap.put(SiteConfigCodeEnum.S10.toString(), "左后方有学员通过");
        examConfigMap.put(SiteConfigCodeEnum.S11.toString(), "右后方有学员通过");
        examConfigMap.put(SiteConfigCodeEnum.S12.toString(), false);
        examConfigMap.put(SiteConfigCodeEnum.S13.toString(), "座椅");
        examConfigMap.put(SiteConfigCodeEnum.S14.toString(), "反光镜");
        examConfigMap.put(SiteConfigCodeEnum.S15.toString(), "后视镜");

        /****加减档默认值****/
        examConfigMap.put(SiteConfigCodeEnum.J1.toString(), 121);
        examConfigMap.put(SiteConfigCodeEnum.J2.toString(), 232);
        examConfigMap.put(SiteConfigCodeEnum.J3.toString(), 323);
        examConfigMap.put(SiteConfigCodeEnum.J4.toString(), 434);
        examConfigMap.put(SiteConfigCodeEnum.J5.toString(), 545);
        examConfigMap.put(SiteConfigCodeEnum.J6.toString(), "请将档位加到#档");
        examConfigMap.put(SiteConfigCodeEnum.J7.toString(), "请将档位降到#档");
        examConfigMap.put(SiteConfigCodeEnum.J8.toString(), 2);
        examConfigMap.put(SiteConfigCodeEnum.J9.toString(), "#档");
        examConfigMap.put(SiteConfigCodeEnum.J10.toString(), true);
        examConfigMap.put(SiteConfigCodeEnum.J11.toString(), true);
        examConfigMap.put(SiteConfigCodeEnum.J12.toString(), 2);
        examConfigMap.put(SiteConfigCodeEnum.J13.toString(), 15);
        examConfigMap.put(SiteConfigCodeEnum.J14.toString(), UnitNameEnum.TIME.toString());
        examConfigMap.put(SiteConfigCodeEnum.J15.toString(), 150);
        examConfigMap.put(SiteConfigCodeEnum.J16.toString(), UnitNameEnum.METER.toString());
        examConfigMap.put(SiteConfigCodeEnum.J17.toString(), "");
        examConfigMap.put(SiteConfigCodeEnum.J18.toString(), "");

        return examConfigMap;
    }
}
